Business users require access to corporate data stored in relational databases. In order to facilitate such access, analytics applications map logical entities of a relational database's schema to a set of abstract entities known as business objects. The business objects may represent business entities, such as customers, time periods, financial figures, etc. The mappings and the business objects form a type of semantic layer, known as a Universe, residing between the user and the database. A business user may query the database by referring to the business objects, without referring to the underlying logical entities of the database.
The Data Specification Language, i.e. DaSL, is described in U.S. Pat. No. 8,572,122, the contents of which are incorporated by reference herein for all purposes. DaSL allows a business user to create powerful and flexible queries of an underlying data source.
When asking a business question using DaSL, DaSL leverages an available business model, such as a Universe, to define a dataset which answers the business question. DaSL uses business terms (i.e., DaSL attributes), and handles the business terms and relations between them in a homogeneous way, as attributes and dependencies between attributes. DaSL can also be considered a schema transformation language because compilation of a DaSL expression begins with an input schema extracted from the business model, and results in a data schema which defines the shape of the result dataset.
It is desirable to allow a user to enrich a DaSL schema by adding new attributes (and dependencies between them). This ability could support user creation of Key Performance Indicators and other custom business objects and execution of what-if analysis for Enterprise Performance Management applications. It is also desirable to add new attributes and dependencies between attributes using declarative expressions which are independent of the underlying data source, and to provide sharing of the new attributes and dependencies among users.